<?php
/**
 * Created by PhpStorm.
 * User: s.utkin
 * Date: 12.08.14
 * Time: 16:53
 */

namespace Messenger;

use Users\Profile;

class WindowAction extends BaseAction
{
	protected static $isPublic = true;
	protected static $layout = '#layouts.ajax';

	function privileges() {
		return '#authorized';
	}
	
	/**
	 * Указываем необходимые неявные параметры
	 * @return multitype:string
	 */
	static function pullParams() {
		return ['identity'];
	}
    /**
     * Выводит окно сообщения
     */
    protected function run()
    {
        $myProfileId = $this->request->_identity;

        # id профиля собеседника
        $companionProfileId = (string)$this->request->companionProfileId;

		$listStatus = (int)$this->request->listStatus;

        if ( ! empty($companionProfileId)) {
			$group = Groups::newDialog($companionProfileId, $myProfileId);

        	// отключаем кеширование только если указан компьон
        	// TODO: разделить логику открытия окна 
        	$this->response->noCache(true);

			# Автоматическое вычисление вкладки мессенджера
			if ($listStatus == 0) {
				/** @var Groups $group */
				$listStatus = $group->getRelationStatus($myProfileId);
			}
        }

        $this->response->listStatus = $listStatus ? $listStatus : Relations::STATUS_NEUTRAL;
        $this->response->myProfileId = $myProfileId;
        $this->response->companionProfileId = $companionProfileId;
    }
}